package com.hsnn.medstgmini.pro.project.controller;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.hsnn.medstgmini.Constants;
import com.hsnn.medstgmini.base.std.model.StdCompinfo;
import com.hsnn.medstgmini.base.std.model.StdCompprofile;
import com.hsnn.medstgmini.base.std.service.CompProfileManager;
import com.hsnn.medstgmini.base.std.service.StdCompprofileManager;
import com.hsnn.medstgmini.model.Status;
import com.hsnn.medstgmini.pro.project.model.BidProjectDetails;
import com.hsnn.medstgmini.pro.project.model.form.ProdProfileForm;
import com.hsnn.medstgmini.pro.project.model.form.ProdProjectForm;
import com.hsnn.medstgmini.pro.project.service.ProdProfileManager;
import com.hsnn.medstgmini.pro.project.service.ProdProjectManager;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.util.ImgUtil;
import com.hsnn.medstgmini.util.Pagination;
import com.hsnn.medstgmini.util.ParseDate;

/**
 * @category 生产企业申报资质
 * @author 蔡春龙
 * @date 2015年8月26日
 */
@Controller
@RequestMapping("/prodProfile")
public class ProdProfileController {

	private static final Logger logger = Logger
			.getLogger(ProdProfileController.class);

	@Autowired
	private ProdProjectManager prodProjectManager;

	@Autowired
	private ProdProfileManager prodProfileManager;

	@Autowired
	private StdCompprofileManager stdCompprofileManager;

	@Autowired
	private HttpServletRequest request;
	
	@Autowired
	private CompProfileManager compProfileManager;

	@Autowired
	private HttpSession session;

	/**
	 * @category 获取当前登陆人信息
	 * @author 言科
	 * @date 2015年7月22日 SysUser
	 */
	public SysUser getUser() {
		return (SysUser) session.getAttribute(Constants.USERINFO);
	}

	/**
	 * @category 跳转资质申报项目列表页面
	 * @date 2015年8月26日
	 * @return
	 */
	@RequestMapping("/toProfileProjectList")
	public String toProfileProjectList() {
		logger.info("enter toProfileProjectList method!");
		return "/pro/project/prod/profileProjectList";
	}

	/**
	 * @category 跳转资质申报列表页面
	 * @date 2015年8月26日
	 * @return
	 */
	@RequestMapping("/toProdProfileList")
	public String toProdProfileList(Model model, String projId) {
		logger.info("enter toProdProfileList method!");
		model.addAttribute("projId", projId);
		return "/pro/project/prod/prodProfileList";
	}

	/**
	 * @category 查询当前企业所有企业资质
	 * @date 2015年8月26日
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileList")
	@ResponseBody
	public Pagination getProfileList(ProdProfileForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					form.setCompId(compId);
					page.setForm(form);
					prodProfileManager.getProfileList(page);
					if(StringUtils.isNotBlank(user.getDefaultProjId())){
						BidProjectDetails bidProjectDetails =prodProfileManager.getBidProjectDetailsById(user.getDefaultProjId());
						if(bidProjectDetails.getProSubmitEndtime()!=null && bidProjectDetails.getProjStarttime()!=null && bidProjectDetails.getProSubmitEndtime().getTime()>=new Date().getTime() ){
							page.setForm(Constants.DEFAULT_PROJ_1);//默认项目并且该项目在申报时间段内
						}else{
							page.setForm(Constants.DEFAULT_PROJ_2);//默认项目并且该项目不在申报时间段内
						}
					}else{
						page.setForm(Constants.DEFAULT_PROJ_3);//全部项目，为分离项目
					}
					page.setSuccess(true);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 保存企业资质信息
	 * @author 韩守松
	 * @date 2015年8月24日
	 * @param @return
	 */
	@RequestMapping("/saveProfile")
	@ResponseBody
	public Pagination saveProfile(
			Pagination page,
			StdCompprofile stdCompprofile,
			@RequestParam(value = "licence", required = false) MultipartFile licence) {
		page = new Pagination(request);
		FileOutputStream fos = null;
		try {
			SysUser user = (SysUser) request.getSession().getAttribute(
					Constants.USERINFO);
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					stdCompprofile.setCompId(compId);
				}
			}
			stdCompprofile.setUpdUser(user.getId());
			stdCompprofile.setUpdDatetime(new Date());
			if (StringUtils.isBlank(stdCompprofile.getCompprofileId())) { // 新增企业资质需要上传证书
				if (licence == null || licence.isEmpty()) {
					page.setSuccess(false);
					page.setMsg("请上传企业资质证书！");
					return page;
				}
				if (licence != null) {
					if (licence.getSize() > 3 * 1024 * 1024) {
						page.setSuccess(false);
						page.setMsg("企业资质证书不能大于3M！");
						return page;
					}
					String name = licence.getOriginalFilename();
					if (!ImgUtil.isImg(name)) {
						page.setSuccess(false);
						page.setMsg("企业资质证书请选择图片，图片支持格式：gif, jpg, jpeg, png, bmp！");
						return page;
					}
					String path = session.getServletContext().getRealPath("/");
					path = path.replaceAll("\\\\", "/") + "upload/licence/";
					name = UUID.randomUUID() + ImgUtil.getSuffix(name);
					String filename = path + name;
					File file = new File(filename);
					fos = new FileOutputStream(file);
					fos.write(licence.getBytes());
					fos.flush();
					stdCompprofile.setProfilePicAddr("upload/licence/" + name);
					stdCompprofile.setProfilePicShortcutAddr("upload/licence/"
							+ name);
					stdCompprofile.setProfileCode("ZZ" + new Date().getTime());
					stdCompprofile.setStatus(Status.invalid.getKey());
					stdCompprofile.setAuditStatus(3);
					// 企业资质新增
					stdCompprofileManager.save(page, stdCompprofile);
					page.setSuccess(true);
				}
			} else {
				// 企业资质修改
				StdCompprofile stdCompprofileAgin = stdCompprofileManager
						.getStdCompprofileById(stdCompprofile
								.getCompprofileId());
				if (licence == null || licence.isEmpty()) {
					stdCompprofile.setProfilePicAddr(stdCompprofileAgin
							.getProfilePicAddr());
					stdCompprofile.setProfilePicShortcutAddr(stdCompprofileAgin
							.getProfilePicShortcutAddr());

				} else {
					if (licence.getSize() > 3 * 1024 * 1024) {
						page.setSuccess(false);
						page.setMsg("企业资质证书不能大于3M！");
						return page;
					}
					String name = licence.getOriginalFilename();
					if (!ImgUtil.isImg(name)) {
						page.setSuccess(false);
						page.setMsg("企业资质证书请选择图片，图片支持格式：gif, jpg, jpeg, png, bmp！");
						return page;
					}
					String path = session.getServletContext().getRealPath("/");
					path = path.replaceAll("\\\\", "/") + "upload/licence/";
					name = UUID.randomUUID() + ImgUtil.getSuffix(name);
					String filename = path + name;
					File file = new File(filename);
					fos = new FileOutputStream(file);
					fos.write(licence.getBytes());
					fos.flush();
					stdCompprofile.setProfilePicAddr("upload/licence/" + name);
					stdCompprofile.setProfilePicShortcutAddr("upload/licence/"
							+ name);
				}
				stdCompprofile.setStatus(stdCompprofileAgin.getStatus());
				stdCompprofile.setProfileCode(stdCompprofileAgin
						.getProfileCode());
				stdCompprofile.setAuditStatus(stdCompprofileAgin
						.getAuditStatus());
				stdCompprofileManager.edit(page, stdCompprofile);
				page.setSuccess(true);
			}

		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		} finally {
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return page;
	}
	
	/**
	 * @category 基础库保存企业资质信息
	 * @author 韩守松
	 * @date 2015年8月24日
	 * @param @return
	 */
	@RequestMapping(value={"/add","/edit"})
	@ResponseBody
	public Pagination saveProfileJiChuKu(
			Pagination page,
			StdCompprofile stdCompprofile,
			@RequestParam(value = "licence", required = false) MultipartFile licence) {
		page = new Pagination(request);
		FileOutputStream fos = null;
		try {
			SysUser user = (SysUser) request.getSession().getAttribute(
					Constants.USERINFO);
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					stdCompprofile.setCompId(compId);
				}
			}
			stdCompprofile.setUpdUser(user.getId());
			stdCompprofile.setUpdDatetime(new Date());
			if (StringUtils.isBlank(stdCompprofile.getCompprofileId())) { // 新增企业资质需要上传证书
				if (licence == null || licence.isEmpty()) {
					page.setSuccess(false);
					page.setMsg("请上传企业资质证书！");
					return page;
				}
				if (licence != null) {
					if (licence.getSize() > 3 * 1024 * 1024) {
						page.setSuccess(false);
						page.setMsg("企业资质证书不能大于3M！");
						return page;
					}
					String name = licence.getOriginalFilename();
					if (!ImgUtil.isImg(name)) {
						page.setSuccess(false);
						page.setMsg("企业资质证书请选择图片，图片支持格式：gif, jpg, jpeg, png, bmp！");
						return page;
					}
					String path = session.getServletContext().getRealPath("/");
					path = path.replaceAll("\\\\", "/") + "upload/licence/";
					name = UUID.randomUUID() + ImgUtil.getSuffix(name);
					String filename = path + name;
					File file = new File(filename);
					fos = new FileOutputStream(file);
					fos.write(licence.getBytes());
					fos.flush();
					stdCompprofile.setProfilePicAddr("upload/licence/" + name);
					stdCompprofile.setProfilePicShortcutAddr("upload/licence/"
							+ name);
					stdCompprofile.setProfileCode("ZZ" + new Date().getTime());
					stdCompprofile.setStatus(Status.invalid.getKey());
					stdCompprofile.setAuditStatus(3);
					// 企业资质新增
					stdCompprofileManager.save(page, stdCompprofile);
					page.setSuccess(true);
				}
			} else {
				// 企业资质修改
				StdCompprofile stdCompprofileAgin = stdCompprofileManager
						.getStdCompprofileById(stdCompprofile
								.getCompprofileId());
				if (licence == null || licence.isEmpty()) {
					stdCompprofile.setProfilePicAddr(stdCompprofileAgin
							.getProfilePicAddr());
					stdCompprofile.setProfilePicShortcutAddr(stdCompprofileAgin
							.getProfilePicShortcutAddr());

				} else {
					if (licence.getSize() > 3 * 1024 * 1024) {
						page.setSuccess(false);
						page.setMsg("企业资质证书不能大于3M！");
						return page;
					}
					String name = licence.getOriginalFilename();
					if (!ImgUtil.isImg(name)) {
						page.setSuccess(false);
						page.setMsg("企业资质证书请选择图片，图片支持格式：gif, jpg, jpeg, png, bmp！");
						return page;
					}
					String path = session.getServletContext().getRealPath("/");
					path = path.replaceAll("\\\\", "/") + "upload/licence/";
					name = UUID.randomUUID() + ImgUtil.getSuffix(name);
					String filename = path + name;
					File file = new File(filename);
					fos = new FileOutputStream(file);
					fos.write(licence.getBytes());
					fos.flush();
					stdCompprofile.setProfilePicAddr("upload/licence/" + name);
					stdCompprofile.setProfilePicShortcutAddr("upload/licence/"
							+ name);
				}
				stdCompprofile.setStatus(stdCompprofileAgin.getStatus());
				stdCompprofile.setProfileCode(stdCompprofileAgin
						.getProfileCode());
				stdCompprofile.setAuditStatus(stdCompprofileAgin
						.getAuditStatus());
				stdCompprofileManager.edit(page, stdCompprofile);
				page.setSuccess(true);
			}

		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		} finally {
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return page;
	}
	

	/**
	 * @category 提交企业资质
	 * @date 2015年8月27日
	 * @param form
	 * @return
	 */
	@RequestMapping("/submitProfileList")
	@ResponseBody
	public Pagination submitProfileList(String array) {
		Pagination page = new Pagination(request);
		try {
			if (StringUtils.isNotBlank(array)) {
				Gson gson = new Gson();
				Type type = new TypeToken<List<ProdProfileForm>>() {
				}.getType();
				List<ProdProfileForm> list = gson.fromJson(array, type);
				prodProfileManager.submitProfileList(list, getUser());
				page.setSuccess(true);
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e.getMessage());
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 跳转资质审核结果页面
	 * @date 2015年8月27日
	 * @return
	 */
	@RequestMapping("/toProfileAuditResultList")
	public String toProfileAuditResultList(Model model, String projId) {
		logger.info("enter toProfileAuditResultList method!");
		model.addAttribute("projId", projId);
		return "/pro/project/prod/profileAuditResultList";
	}
	
	/**
	 * @category 跳转资质申报页面
	 * @date 2015年8月27日
	 * @return
	 */
	@RequestMapping("/toProfileApplyResultList")
	public String toProfileApplyResultList(Model model, String projId) {
		logger.info("enter toProfileApplyResultList method!");
		model.addAttribute("projId", projId);
		return "/pro/project/prod/profileApplyResultList";
	}

	/**
	 * @category 查询资质审核结果列表
	 * @date 2015年8月27日
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileAuditResultList")
	@ResponseBody
	public Pagination getProfileAuditResultList(ProdProfileForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					form.setCompId(compId);
					page.setForm(form);
					prodProfileManager.getProfileAuditResultList(page);
					if (StringUtils.isNotBlank(user.getDefaultProjId())) {
						page.setForm(Constants.DEFAULT_PROJ_1);
					}
					page.setSuccess(true);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e.getMessage());
			page.setSuccess(false);
		}
		return page;
	}
	
	/**
	 * @category 查询资质申报列表
	 * @date 2015年8月27日
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileApplyResultList")
	@ResponseBody
	public Pagination getProfileApplyResultList(ProdProfileForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					form.setCompId(compId);
					page.setForm(form);
					prodProfileManager.getProfileApplyResultList(page);
					page.setSuccess(true);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e.getMessage());
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 跳转企业资质澄清页面
	 * @date 2015年8月31日
	 * @param model
	 * @param projId
	 * @return
	 */
	@RequestMapping("/toProfileComplainList")
	public String toProfileComplainList(Model model, String projId) {
		logger.info("enter toProfileComplainList method!");
		List<Map<String, String>> typeList = compProfileManager
				.getCompProfileTypeList();
		model.addAttribute("typeList", typeList);
		model.addAttribute("projId", projId);
		return "/pro/project/prod/profileComplainList";
	}

	/**
	 * @category 查询企业资质澄清列表
	 * @date 2015年8月31日
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileComplainList")
	@ResponseBody
	public Pagination getProfileComplainList(ProdProfileForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					form.setCompId(compId);
					page.setForm(form);
					prodProfileManager.getProfileComplainList(page);
					if(StringUtils.isNotBlank(user.getDefaultProjId())){
						BidProjectDetails bidProjectDetails =prodProfileManager.getBidProjectDetailsById(user.getDefaultProjId());
						if(bidProjectDetails.getComplainEndtime ()!=null && bidProjectDetails.getComplainStarttime()!=null && bidProjectDetails.getComplainEndtime ().getTime()>=new Date().getTime() ){
							page.setForm(Constants.DEFAULT_PROJ_1);//默认项目并且该项目在澄清时间段内
						}else{
							page.setForm(Constants.DEFAULT_PROJ_2);//默认项目并且该项目不在澄清时间段内
						}
					}else{
						page.setForm(Constants.DEFAULT_PROJ_3);//全部项目，为分离项目
					}
					page.setSuccess(true);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 澄清企业资质
	 * @date 2015年8月31日
	 * @param stdCompprofile
	 * @param licence
	 * @return
	 */
	@RequestMapping("/complainProfile")
	@ResponseBody
	public Pagination complainProfile(
			StdCompprofile stdCompprofile,
			ProdProfileForm form,
			@RequestParam(value = "licence", required = false) MultipartFile licence) {
		Pagination page = new Pagination(request);
		FileOutputStream fos = null;
		try {
			SysUser user = (SysUser) request.getSession().getAttribute(
					Constants.USERINFO);
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					stdCompprofile.setCompId(compId);
					form.setCompId(compId);
				}
			}
			stdCompprofile.setUpdUser(user.getId());
			stdCompprofile.setUpdDatetime(new Date());
			form.setUpdUser(user.getId());

			// 企业资质修改
			StdCompprofile stdCompprofileAgin = stdCompprofileManager
					.getStdCompprofileById(stdCompprofile.getCompprofileId());
			if (licence == null || licence.isEmpty()) {

				stdCompprofile.setProfilePicAddr(stdCompprofileAgin
						.getProfilePicAddr());
				stdCompprofile.setProfilePicShortcutAddr(stdCompprofileAgin
						.getProfilePicShortcutAddr());

			} else {
				if (licence.getSize() > 3 * 1024 * 1024) {
					page.setSuccess(false);
					page.setMsg("企业资质证书不能大于3M！");
					return page;
				}
				String name = licence.getOriginalFilename();
				if (!ImgUtil.isImg(name)) {
					page.setSuccess(false);
					page.setMsg("企业资质证书请选择图片，图片支持格式：gif, jpg, jpeg, png, bmp！");
					return page;
				}
				String path = session.getServletContext().getRealPath("/");
				path = path.replaceAll("\\\\", "/") + "upload/licence/";
				name = UUID.randomUUID() + ImgUtil.getSuffix(name);
				String filename = path + name;
				File file = new File(filename);
				fos = new FileOutputStream(file);
				fos.write(licence.getBytes());
				fos.flush();
				stdCompprofile.setProfilePicAddr("upload/licence/" + name);
				stdCompprofile.setProfilePicShortcutAddr("upload/licence/"
						+ name);
			}
			stdCompprofile.setStatus(stdCompprofileAgin.getStatus());
			stdCompprofile.setProfileCode(stdCompprofileAgin.getProfileCode());
			page.setForm(form);
			prodProfileManager.complainProfile(page, stdCompprofile);
			page.setSuccess(true);

		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		} finally {
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return page;
	}

	/**
	 * @category 跳转到企业资质澄清结果查询列表
	 * @date 2015年9月2日
	 * @param page
	 * @return
	 */
	@RequestMapping("/toProfileComplainResultList")
	public String toProfileComplainResultList(Model model, String projId) {
		logger.info("enter toProfileComplainList method!");
		model.addAttribute("projId", projId);
		return "/pro/project/prod/profileComplainResultList";
	}

	/**
	 * @category 企业资质澄清结果查询列表
	 * @date 2015年9月2日
	 * @param page
	 * @return
	 */
	@RequestMapping("/getProfileComplainResultList")
	@ResponseBody
	public Pagination getProfileComplainResultList(ProdProfileForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			StdCompinfo compInfo = user.getInfo();
			if (compInfo != null) {
				String compId = compInfo.getCompId();
				if (StringUtils.isNotBlank(compId)) {
					form.setCompId(compId);
					page.setForm(form);
					prodProfileManager.getProfileComplainResultList(page);
					if(StringUtils.isNotBlank(user.getDefaultProjId())){
						page.setForm(Constants.DEFAULT_PROJ_1);
					}
					page.setSuccess(true);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 企业资质申报页面
	 * @date 2015年8月26日
	 * @return
	 */
	@RequestMapping("/toProdProfileListList")
	public String toProdProfileListList(Model model,RedirectAttributes attr) {
		logger.info("enter toProdProfileList method!");
		SysUser user = (SysUser)request.getSession().getAttribute(Constants.USERINFO);
		String defalutProjId=  user.getDefaultProjId();
		if ( StringUtils.isNotBlank(defalutProjId) ) {
			 attr.addAttribute("projId",defalutProjId);  
		     return "redirect:/prodProfile/toProdProfileList.html";
		}
		model.addAttribute("date", ParseDate.parseShortFormat(new Date()));
		return "/pro/project/prod/prodProfileListList";
	}

	/**
	 * @category 查询已报名项目资质申报列表(生产企业端)
	 * @date 2015年9月6日 修改日期 2015-9-24 韩守松
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProdProfileListList")
	@ResponseBody
	public Pagination getProdProfileListList(ProdProjectForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			if(StringUtils.isNotBlank(user.getDefaultProjId())){
				page.getConditions().put("defalutProjId", user.getDefaultProjId());
				form.setProjId(user.getDefaultProjId());
			}
			page.setForm(form);
			prodProfileManager.getProdProfileListList(page, user);
			page.setSuccess(true);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 查询已报名项目资质申报列表(配送企业端)
	 * @date 2015年9月6日 修改日期 2015-9-24 韩守松
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProdDelfileListList")
	@ResponseBody
	public Pagination getProdDelfileListList(ProdProjectForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			if(StringUtils.isNotBlank(user.getDefaultProjId())){
				page.getConditions().put("defalutProjId", user.getDefaultProjId());
				form.setProjId(user.getDefaultProjId());
			}
			page.setForm(form);
			prodProfileManager.getProdDelfileListList(page, user);
			page.setSuccess(true);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}
	/**
	 * @category 企业资审查看页面
	 * @date 2015年8月26日
	 * @return
	 */
	@RequestMapping("/toProfileAuditResultListList")
	public String toProfileAuditResultListList(RedirectAttributes attr) {
		logger.info("enter toProfileProjectList method!");
		SysUser user = (SysUser)request.getSession().getAttribute(Constants.USERINFO);
		String defalutProjId=  user.getDefaultProjId();
		if ( StringUtils.isNotBlank(defalutProjId) ) {
			 attr.addAttribute("projId",defalutProjId);
		     return "redirect:/prodProfile/toProfileAuditResultList.html";
		}
		request.setAttribute("date", ParseDate.parseShortFormat(new Date()));
		return "/pro/project/prod/profileAuditResultListList";
	}

	/**
	 * @category 查询企业资质申报结果列表（企业资质查看）
	 * @date 2015年9月6日修改日期 2015-09-24 韩守松
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileAuditResultListList")
	@ResponseBody
	public Pagination getProfileAuditResultListList(ProdProjectForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			if(StringUtils.isNotBlank(user.getDefaultProjId())){
				page.getConditions().put("defalutProjId", user.getDefaultProjId());
				form.setProjId(user.getDefaultProjId());
			}
			page.setForm(form);
			prodProfileManager.getProfileAuditResultListList(page, user);
			page.setSuccess(true);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 企业资质澄清页面
	 * @date 2015年8月26日
	 * @return
	 */
	@RequestMapping("/toProfileComplainListList")
	public String toProfileComplainListList(Model model,RedirectAttributes attr) {
		logger.info("enter toProfileProjectList method!");
		SysUser user = (SysUser)request.getSession().getAttribute(Constants.USERINFO);
		String defalutProjId=  user.getDefaultProjId();
		if ( StringUtils.isNotBlank(defalutProjId) ) {
			 attr.addAttribute("projId",defalutProjId);
		     return "redirect:/prodProfile/toProfileComplainList.html";
		}
		model.addAttribute("date", ParseDate.parseShortFormat(new Date()));
		return "/pro/project/prod/profileComplainListList";
	}

	/**
	 * @category 查询企业资质可澄清列表
	 * @date 2015年9月6日 修改时间 2015-09-24 韩守松
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileComplainListList")
	@ResponseBody
	public Pagination getProfileComplainListList(ProdProjectForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			String defalutProjId=  user.getDefaultProjId();
			if (StringUtils.isNotBlank(defalutProjId)) {
				page.getConditions().put("defalutProjId", defalutProjId);
				form.setProjId(defalutProjId);
			}
			page.setForm(form);
			prodProfileManager.getProfileComplainListList(page, user);
			page.setSuccess(true);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 企业资质澄清查看页面
	 * @date 2015年8月26日
	 * @return
	 */
	@RequestMapping("/toProfileComplainResultListList")
	public String toProfileComplainResultListList(RedirectAttributes attr) {
		logger.info("enter toProfileProjectList method!");
		SysUser user = (SysUser)request.getSession().getAttribute(Constants.USERINFO);
		String defalutProjId=  user.getDefaultProjId();
		if ( StringUtils.isNotBlank(defalutProjId) ) {
			 attr.addAttribute("projId",defalutProjId);  
		     return "redirect:/prodProfile/toProfileComplainResultList.html";
		}
		request.setAttribute("date", ParseDate.parseShortFormat(new Date()));
		return "/pro/project/prod/profileComplainResultListList";
	}

	/**
	 * @category 查询企业资质澄清结果列表
	 * @date 2015年9月6日 修改日期 2015-09-24 韩守松
	 * @param form
	 * @return
	 */
	@RequestMapping("/getProfileComplainResultListList")
	@ResponseBody
	public Pagination getProfileComplainResultListList(ProdProjectForm form) {
		Pagination page = new Pagination(request);
		try {
			SysUser user = getUser();
			String defalutProjId=  user.getDefaultProjId();
			if (StringUtils.isNotBlank(defalutProjId)) {
				page.getConditions().put("defalutProjId", defalutProjId);
				form.setProjId(defalutProjId);
			}
			page.setForm(form);
			prodProfileManager.getProfileComplainResultListList(page, user);
			page.setSuccess(true);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			page.setSuccess(false);
		}
		return page;
	}

}
